7.1. Инфраструктура Обмена ключами и Механизмы
Протокол обмена ключами ATM описан в контексте " протокол обмена сообщениями защиты " в
Разделе 5.1 Технических требований. Обмен ключами выполняется, посредством генерации начальных сеансовых ключей для каждого направления в ВИРТУАЛЬНОМ КАНАЛЕ и общего мастер-ключа. Эти ключи зашифровываются для обмена, используя Начальный Ключ Обмена ключами. При использовании асимметричного ключевого алгоритма шифрования типа RSA для обмена ключами, Начальный Ключ Обмена ключами есть открытый ключ получателя. При использовании асимметричного алгоритма распределения ключей типа Diffie-He
llman, Начальный Ключ Обмена ключами - часть общего значения, выработанного алгоритмом от открытых ключей пользователей. При использовании симметричного ключевого алгоритма, Начальный Ключ Обмена ключами - общий секретный ключ установленный до обмена ключами.
Обмен ключами выполняется, с использованием симметричных (секретный ключ) ключевых алгоритмов типа DES или асимметричных (открытый ключ) ключевых алгоритмов типа RSA. Если используется симметричный ключевой алгоритм, то два связывающихся узла, должны иметь общий секретный ключ перед соединением. С другой стороны, в случае использования асимметричных алгоритмов, каждый узел должен знать только общедоступный ключ другого узла.
Обратите внимание, что генерация, распределение, и хранение этих (обычно долговременных) секретных, частных, и-или общедоступных ключей - в этих Технических требованиях не рассматриваются.
С каждым алгоритмом связан некоторый указатель, так называемый "codepoint", который используется для идентификации алгоритма при процедуре согласования параметров защиты. Эти codepoint'ы перечислены в Разделе 6.1 Технических требований. Codepoint'ы процедур, используемых в определяемом пользователем алгоритме также описаны в Разделе 6.1 Технических требований.
При выполнении обмена ключами выполняется следующее:
·
При выполнении обмена ключами в сегменте пользователя, будет использоваться один из протоколов аутентификации и обмена ключами, описанный в Разделе 5.1 Технических требований·
При выполнении обмена ключами, будет использоваться алгоритм аутентификации (один из двух: определяемый пользователем, или описанный в Разделе 3.1 Технических требований, смю также рефераты коллег).7.2.1. Асимметричные Алгоритмы для Обмена ключами
Следующие асимметричные (открытый ключ) алгоритмы обмена ключами определяются в этих Технических требованиях.
Алгоритм Нормативная Ссылка
RSA [24]
Diffie-Hellman Раздел 6.8.4 Технических требований
ECKAS-DH Раздел 6.9.5 Технических требований
Для Diffie-Hellman-алгоритма обмена ключами, размер модуля (p) должен быть равен: или 512, или 768, или 1024, или 2048 битов.
7.2.2. Симметричные Алгоритмы для Обмена ключами
Следующие симметричные (секретный ключ) алгоритмы определены в этих Технических требованиях для обмена ключами.
Алгоритм Нормативная Ссылка
DES (в режиме CBC) [6], [7]
DES40 (в режиме CBC) Раздел 6.7 Технических требований
Triple DES (в режиме CBC) [25], [7]
FEAL (в режиме CBC) [32], [33], [7]
Мастер-Ключ - это ключ, используемый между агентами безопасности для шифровки и расшифровки сеансовых ключей после начального учреждения подключения. Мастер-ключи генерируются в течение протокола обмена сообщениями защиты (SME). Одиночный Мастер-Ключ используется как для полных дуплексных, так и для полных симплексных (точка-много точек) запросов (подключений). Мастер-Ключи могут быть выработаны с помощью открытых ключевых алгоритмов шифрования, например, RSA, или с помощью открытых ключевых алгоритмов распределения ключей, например, Diffie-Hellman. Процедуры для генерации Мастер-Ключа с открытыми ключевыми алгоритмами шифрования и открытыми ключевыми алгоритмами распределения ключей слегка различны. Максимальный размер Мастер-Ключа - 256 битов.
7.3.1. Мастер-Ключи для соединений типа точка-точка
Для генерации мастер-ключа при прямых соединениях типа точка-точка, и использовании открытых ключевых алгоритмов шифрования, например, RSA, инициатор соединения и ответчик должны каждый выбрать по дному 128 разрядному случайному числу.
Эти два 128 разрядных значения обмениваются в Мастер-ключевой группе октетов секретных параметров. Обмененные значения расшифровываются и конкатенируются, чтобы сформировать Мастер-ключ. Конкатенация выполняется следующим образом: значение инициатора формирует самые старшие разряды или крайнюю левую половину, а значение ответчика формирует самые младшие разряды или крайнюю правую половину.
Чтобы вырабатывать Мастер-ключ для прямых соединений, использующих открытый алгоритм распределения ключей, например, Diffie-Hellman, берутся младшие 256 битов результирующего общего секретного значения это и будет - Мастер-ключ. Группа октетов Мастер-ключей не требуется и не будет включена в Секретные Параметры. Чтобы приспособить эту процедуру, и также из соображений безопасности, размер модуля для Diffi
e-Hellman алгоритма должен быть по крайней мере 512 битов, а размер модуля для Схемы Эллиптическая Кривая Diffie-Hellman алгоритма согласования Ключа должен быть по крайней мере 130 битов. Начальный Ключ Обмена ключами тогда устанавливается равным значению Мастер-ключа и используется как вход Zmask алгоритма для шифрования Секретных Параметров.7.3.2. Мастер-ключи для Подключений при Радиально-узловой многоточечной связи (соединения типа точка-много точек)
Для случая подключений при радиально-узловой многоточечной связи (соединения типа точка-много точек), добавление краевых узлов сети обрабатывается иначе, чем начальная установка подключения. Это происходит, потому что Мастер-ключ для подключения уже был установлен (как описано выше), и требуется только распределить его между новыми краевыми узлами.
При использовании открытых ключевых алгоритмов шифрования (например, RSA) Мастер-ключ зашифровывается инициатором на открытом ключе ответчика и посылается краевому узлу.
При использовании открытого ключевого алгоритма распределения ключей (например, Diffie-Hellman) Мастер-ключ, для подключения типа точка-много точек, зашифровывается, используя Zmask алгоритм, определенный в Разделе 6.8.4.1 Технических требований. Начальный Ключ процедуры Обмена Ключами, используемый в алгоритме шифрования (как вход хэш-функции) для последующих краевых узлов после начальной установки подключения должен быть пред-установлен. Пред-установка этого ключа может быть выполнена посредством физической (непосрндственной) конфигурации или с использованием результатов предшествующего обмена ключами. В обоих случаях зашифрованный Мастер-ключ, используемый для подключения посылается в ConfPar маркере, наряду с зашифрованным сеансовым ключом.
7.4. Генерация Начальных Сеансовых ключей
Сеансовые ключи - это ключи, используемые алгоритмом шифрования для обеспечения конфиденциальности данных, или алгоритмом целостности для обнспечения целостности данных. Два агента безопасности, включенные в секретный обмен создают случайным образом сеансовые ключи, они зашифровываются и передаются, используя протокол обмена сообщениями защиты. Метод, используемый для зашифровывания начальных сеансовых ключей, отличается, от методов, используемых в открытых ключевых алгоритмах шифрования и в открытых ключевых алгоритмах распределения ключей.
При использовании открытых ключевых алгоритмов шифрования или открытых ключевых алгоритмов распределения ключей, Начальные Сеансовые ключи (ISKs) для секретности и-или целостности создаются, используя генератор случайных чисел, и обмениваются в подгруппе октетов сеансовых ключей группы октетов Секретных Параметров. Группа октетов Секретных Параметров зашифрована на открытом ключе другой стороны при использовании открытого ключевого алгоритма шифрования. При использовании открытого ключевого алгоритма распределения ключей, группа октетов Секретных Параметров, содержащая Начальные Сеансовые ключи (ISKs) зашифровывается на открытом Начальном Ключе Обмена ключами. Это выполняется, посредством осушествленияния операции Zmask, как определено в Разделе 6.8.4.1 Технических требований, на Начальном Ключе Обмена ключами и использования значения Zmask, чтобы зашифровать Секретные Параметры.
Для симплексных подключений (например, точка-много точек) необходим только одиночный сеансовый ключ. Этот ключ всегда обеспечивается агентом безопасности (SA), выполняющим функции защиты центрального узла (корня) на подключениях точка-много точек, а также обеспечивается агентом безопасности (SA), осуществляющим обеспечение защиты узла, который производит трафик на симплексном подключении, то есть, узла, который направляет пропускную способность в прямом направлении. ConfPar маркер посылается в оба направления для симплексных подключений, но только одно его значение используется; другое отвергается.
В случае полных дуплексных подключений требуется отделять начальные сеансовые ключи, а векторы инициализации в каждом направлении должны быть свои.
Обработка Ошибок для службы обмена ключами описана в контексте протокола обмена сообщениями защиты в Разделе 5.1 Технических требований.